﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Service;
using RegistroMascotas.Modelo;

namespace RegistroMascotas2
{
    public partial class admin_denuncias : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                cuentacentro.Visible = true;
            }
        }

        protected void btnAprobar_click(object sender, EventArgs e)
        {
            int idDenuncia = 0;
            bool exito = false;

            try
            {
                Button b = sender as Button;

                idDenuncia = int.Parse(b.CommandArgument);

                exito = GestorDeDenuncias.aprobarDenuncia(idDenuncia);
                gvDenuncias.DataBind();

                if (!exito)
                    throw new Exception("No se pudo aprobar la denuncia.");
            }
            catch (Exception ex)
            {
                cuentacentro.Visible = false;
                lblNotificacion.CssClass = "errores";
                lblNotificacion.Text = ex.Message;
            }

        }

        protected void btnRechazar_click(object sender, EventArgs e)
        {
            int idDenuncia = 0;
            Button b = sender as Button;

            idDenuncia = int.Parse(b.CommandArgument);
            Session["idDenuncia"] = idDenuncia;

            mpueVentana.Show();
        }

        protected void gvDenuncias_DataBound(object sender, EventArgs e)
        {
            Control btnA = new Control();
            Control btnR = new Control();
            Control lblRechazo = new Control();

            if (ddlEstados.SelectedValue == EstadoDenuncia.Aprobado.ToString() || ddlEstados.SelectedValue == EstadoDenuncia.Rechazado.ToString())
            {
                GridView grilla = (GridView)sender;

                foreach (GridViewRow row in grilla.Rows)
                {
                    btnA = row.FindControl("btnAprobar");
                    btnR = row.FindControl("btnRechazar");

                    btnA.Visible = false;
                    btnR.Visible = false;
                }
            }
            else
            {
                GridView grilla = (GridView)sender;

                foreach (GridViewRow row in grilla.Rows)
                {
                    lblRechazo = row.FindControl("lblCausaRechazo");

                    lblRechazo.Visible = false;
                }
            }
        }

        protected void btnPop_Click(object sender, EventArgs e)
        {
            int idDenuncia = 0;
            bool exito = false;

            try
            {
                idDenuncia = int.Parse(Session["idDenuncia"].ToString());

                exito = GestorDeDenuncias.rechazarDenuncia(idDenuncia, txtPop.Text);
                gvDenuncias.DataBind();

                if (!exito)
                    throw new Exception("No se pudo rechazar la denuncia.");

            }
            catch (Exception ex)
            {
                cuentacentro.Visible = false;
                lblNotificacion.CssClass = "errores";
                lblNotificacion.Text = ex.Message;
            }
        }
    }
}